﻿using System;
using System.Collections.Generic;
using System.Text;

namespace WindowsUserControl.Codes
{
    /// <summary>
    /// Specifies the type of an <see cref="AstNode"/>.
    /// </summary>
    public enum SimpleNodeType
    {

        /// <summary>
        /// An assignment statement.
        /// </summary>
        AssignmentStatement,

        /// <summary>
        /// A binary expression.
        /// </summary>
        BinaryExpression,

        /// <summary>
        /// A block of statements.
        /// </summary>
        BlockStatement,

        /// <summary>
        /// A Simple language compilation unit.
        /// </summary>
        CompilationUnit,

        /// <summary>
        /// An empty statement.
        /// </summary>
        EmptyStatement,

        /// <summary>
        /// A function access expression.
        /// </summary>
        FunctionAccessExpression,

        /// <summary>
        /// A function declaration.
        /// </summary>
        FunctionDeclaration,

        /// <summary>
        /// An identifier.
        /// </summary>
        Identifier,

        /// <summary>
        /// A number expression.
        /// </summary>
        NumberExpression,

        /// <summary>
        /// A parenthesized expression.
        /// </summary>
        ParenthesizedExpression,

        /// <summary>
        /// A return statement.
        /// </summary>
        ReturnStatement,

        /// <summary>
        /// A simple name.
        /// </summary>
        SimpleName,

        /// <summary>
        /// A variable declaration statement.
        /// </summary>
        VariableDeclarationStatement,

    }
}
